/* You can add global styles to this file, and also import other style files */
html , body {
  height: 100%;
  overflow: hidden;
}

/* 布局全局样式 */
/* 主布局容器 */
.main-layout {
  display: flex;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  height: 100%;
  overflow: hidden;
}

/* 自定义 Sider 样式 */
.custom-sider {
  background: #fff !important; /* 强制白色背景，与主题统一 */
  border-radius: 8px;          /* 圆角风格，与卡片一致 */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); /* 轻微阴影，增强层次感 */
  padding-top: 8px;
  height: calc(100vh - 80px - 40px);
  overflow: hidden;
  position: sticky;
  top: 40px; /* 与顶部导航对齐（假设顶部导航高 80px） */
  align-self: flex-start; /* 防止被拉伸 */
}

/* Sider 头部样式 */
.sider-header {
  display: flex;
  align-items: center;
  padding: 0 24px 16px;
  border-bottom: 1px solid #f0f0f0; /* 底部边框分隔 */
  margin-bottom: 8px;
}

.sider-header nz-icon {
  color: #1890ff; /* 图标使用主色 */
  margin-right: 8px;
}

.sider-title {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

/* 索引列表样式 */
.index-list {
  padding: 0 16px; /* 左右内边距，避免内容贴边 */
}

/* 索引项样式 */
.index-item {
  padding: 10px 16px; /* 增大点击区域 */
  margin-bottom: 4px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #666;
  font-size: 14px;
}

/* 鼠标悬停效果 */
.index-item:hover {
  background-color: #f5f7fa;
  color: #1890ff;
}

/* 选中状态样式 */
.index-item.active {
  background-color: #e6f7ff; /* 主色浅色背景 */
  color: #1890ff;            /* 主色文字 */
  font-weight: 500;
}

/* 右侧正文区域样式 */
.content-main {
  flex: 1;
  padding: 32px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  overflow-y: auto;
  margin-left: 10px; /* 与 Sider 保持间距 */
  height: calc(100vh - 120px);
  margin-top: 40px;
}

/* 响应式适配（小屏） */
@media (max-width: 768px) {
  .main-layout {
    flex-direction: column;
    padding: 0 10px;
  }

  .custom-sider {
    width: 100% !important;
    margin-bottom: 20px;
  }

  .content-main {
    margin-left: 0;
    padding: 20px;
  }
}


/* 文本全局样式 */
/* 页面标题（如章节标题） */
.text-title {
  font-size: 2.2em;
  font-weight: 700;
  color: #2c3e50;
  margin: 2rem 0 1.2rem;
  text-align: center;
  letter-spacing: -0.5px;
  border-bottom: 3px solid #3498db;
  padding-bottom: 8px;
  font-family: "微软雅黑", serif;
  user-select: none;
}

/* 副标题 */
.text-subtitle {
  font-size: 1.6em;
  font-weight: 600;
  color: #2980b9;
  margin: 1.8rem 0 1rem;
  border-left: 4px solid #3498db;
  padding-left: 12px;
  font-family: Roboto, serif;
  user-select: none;
}

/* 小节标题或副标题 */
.text-subsubtitle {
  font-size: 1.3em;
  font-weight: 600;
  color: #34495e;
  margin: 1.4rem 0 0.8rem;
  padding-left: 10px;
  border-left: 3px solid #2980b9;
  line-height: 1.4;
}

/* 正文内容 */
.text-content {
  font-size: 1.1em;
  color: #444;
  margin-bottom: 1.5rem;
  text-align: justify;
  letter-spacing: 0.2px;
  font-weight: normal;
}
/* 正文加粗 */
.text-content-bold {
  font-size: 1.1em;
  color: #444;
  margin-bottom: 1.5rem;
  text-align: justify;
  letter-spacing: 0.2px;
  font-weight: bold;
}

/* 数学公式容器（可选，用于强调公式） */
.text-math {
  text-align: center;
  font-family: 'Cambria Math', 'Times New Roman', serif;
  font-size: 1.3em;
  margin: 1.5rem 0;
  color: #2c3e50;
  user-select: none;
}

/* 问题样式（例如练习题、思考题） */
.text-question {
  background-color: #ecf4ff;
  border-left: 5px solid #3498db;
  padding: 8px 12px;
  margin: 1.5rem 0;
  border-radius: 0 8px 8px 0;
  font-weight: 600;
  color: #2980b9;
  font-style: italic;
}

.text-question::before {
  content: "❓ ";
}
/* 注解样式 */
.text-notes {
  background-color: #d8eafc; /* 浅蓝色背景 */
  border-left: 5px solid #5dade2; /* 左侧边框 */
  padding: 10px 15px;
  margin: 1.5rem 0;
  border-radius: 0 8px 8px 0;
  color: #2c3e50; /* 深蓝色文字 */
  font-size: 14px;
  line-height: 1.5;
  position: relative;
  font-style: italic;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.text-notes::before {
  content: "📖 注：";
  font-weight: bold;
  margin-right: 5px;
  font-style: normal;
}

/* 答案样式 */
.text-answer {
  background-color: #f0f8e8;
  border-left: 5px solid #27ae60;
  padding: 8px 12px;
  margin: 1rem 0 2rem 0;
  border-radius: 0 8px 8px 0;
  color: #27ae60;
  font-weight: 500;
}

.text-answer::before {
  content: "✅ ";
}

/* 强调文本（可用于定义、关键概念） */
.text-emphasis {
  background-color: #fffacd;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: 600;
  color: #d35400;
}

/* 注意/提示框（可扩展） */
.text-note {
  background-color: #fef6e7;
  border: 1px solid #f0c36d;
  padding: 14px;
  margin: 1.5rem 0;
  border-radius: 6px;
  font-size: 0.95em;
  color: #856404;
}

.text-note::before {
  content: "💡 提示：";
  font-weight: bold;
}

/* 知识点/定理样式（用于定义、定理、性质等） */
.text-theorem {
  background-color: #f9f7ff;
  border-left: 5px solid #8e44ad;
  padding: 12px 16px;
  margin: 1.5rem 0;
  border-radius: 0 8px 8px 0;
  font-weight: 500;
  color: #5d3a9b;
  line-height: 1.5;
  box-shadow: 0 2px 4px rgba(142, 68, 173, 0.05);
}

.text-theorem::before {
  content: "📘 ";
  font-weight: bold;
}

/* 给定理加标题（如“定理 1”、“定义”） */
.text-theorem-title {
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
  color: #8e44ad;
  margin-left: 18px;
}

/* 分隔线 */
.text-divider {
  border: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, #ccc, transparent);
  margin: 2rem 0;
}

/* 链接样式 */
a {
  color: #3498db;
  text-decoration: none;
  font-weight: 500;
}

a:hover {
  text-decoration: underline;
}

/* 响应式优化 */
@media (max-width: 768px) {
  body {
    padding: 15px;
    font-size: 16px;
  }
  .text-title {
    font-size: 2em;
  }
  .text-subtitle {
    font-size: 1.4em;
  }
}

/* 图表样式 */
.my-echarts {
  height: 100%;
  width: 100%;
  min-height: 400px;
}

/* 交互按钮样式 */
.determinant-input-container {
  max-width: 400px;
  margin: 20px auto;
  padding: 20px;
  border: 1px solid #eee;
  border-radius: 8px;
  background-color: #f9f9f9;
}

.input-hint {
  margin: 0 0 15px;
  color: #666;
  font-size: 14px;
  text-align: center;
}

/* 网格布局模拟行列式结构（2行2列） */
.determinant-grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 两列等宽 */
  gap: 15px 20px; /* 行列间距 */
  align-items: center;
}

.input-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.input-group label {
  font-size: 13px;
  color: #333;
  font-weight: 500;
}

/* 输入框样式 */
.det-input {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.2s;
}

.det-input:focus {
  outline: none;
  border-color: #409eff; /* 高亮边框 */
  box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.2);
}

/* 提交按钮 */
.submit-btn {
  width: 100%;
  margin-top: 20px;
  padding: 10px;
  background-color: #409eff;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.submit-btn:hover {
  background-color: #66b1ff;
}
